package com.dxf.chepter07

/**
 * implicit
 * val num :Int = 3.5 //高精度向低精度 转换错误
 * 高精度向低精度 转换错误 ==> 隐式转换
 * 隐式转换函数 以 implicit关键字声明带有单个参数的函数,这种函数会自动应用,将值从 一个类型转换为另一种类型
 *
 * 注意事项:
 * 1 函数名任意, 和函数签名[xx] 有关  implicit def f1(d: [Double]): [Int]
 * 2 隐式函数可以有多个,但是一种转换方式是唯一的 ,如  double 转 int 的只能是唯一的
 *
 * 隐式函数 专门写一个文件,在import进来
 *
 * ==========================================
 *
 *
 * 隐式值:
 * 也叫隐式变量,将某个形参变量标记为implicit,
 * 编译器会在方法省略隐式参数的情况下,
 * 搜索作用域内的隐式值作为缺省参数
 *
 *
 */
object T77_隐式值 {
  implicit val str1: String = "jack"

  def main(args: Array[String]): Unit = {


    hello


  }

  def hello(implicit name: String): Unit = {
    println(name)
  }


}

